package com.dragee.modules.work.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.dragee.config.resolver.LongJsonDeserializer;
import com.dragee.config.resolver.LongJsonSerializer;
import com.dragee.utils.excel.FieldDispose;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 运动员测评等级证书
 * 
 * @author tc
 * @email tc@mail.com
 * @date 2023-05-06 14:09:01
 */
@Data
@TableName("t_library_athlete")
public class LibraryAthleteEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId
    @JsonSerialize(using = LongJsonSerializer.class)
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @ExcelIgnore
    private Long id;

    /**
     * 名字
     */
    @ExcelProperty(value = "姓名")
    @FieldDispose(value = "name")
    private String name;

    /**
     * 性别
     */
    @ExcelProperty(value = "性别")
    @FieldDispose(value = "sex")
    private String sex;

    /**
     * 性别
     */
    @ExcelProperty(value = "年龄")
    @FieldDispose(value = "age")
    private String age;

    /**
     * 身份证号
     */
    @ExcelProperty(value = "身份证号码")
    @FieldDispose(value = "idCard")
    private String idCard;

    /**
     * 单位
     */
    @ExcelProperty(value = "工作单位")
    @FieldDispose(value = "unit")
    private String unit;

    /**
     * 项目
     */
    @ExcelProperty(value = "测评项目")
    @FieldDispose(value = "project")
    private String project;

    /**
     * 等级
     */
    @ExcelProperty(value = "测评级别")
    @FieldDispose(value = "level")
    private String level;



    /**
     * 审批单位
     */
    @ExcelProperty(value = "审批单位")
    @FieldDispose(value = "approveUnit")
    private String approveUnit;

    /**
     * 审批时间
     */
    @ExcelProperty(value = "审批日期")
    @FieldDispose(value = "approveDate")
    private String approveDate;



    /**
     * 证书编号
     */
    @ExcelProperty(value = "证书编号")
    @FieldDispose(value = "cerfNumber")
    private String cerfNumber;

    /**
     * 联系方式
     */
    @ExcelProperty(value = "联系电话")
    @FieldDispose(value = "tel")
    private String tel;

    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    @ExcelIgnore
    private String createBy;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    @ExcelIgnore
    private Date createTime;

    /**
     * 修改人
     */
    @TableField(fill = FieldFill.UPDATE)
    @ExcelIgnore
    private String updateBy;

    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.UPDATE)
    @ExcelIgnore
    private Date updateTime;

    /**
     * 排序字段
     */
    @TableField(fill = FieldFill.INSERT)
    @ExcelIgnore
    private Long sort;


}